QuickOPC supports multiple development platforms. Not all functionality is available on every platform, however. The following table summarizes which functionalities are available where.
Development Platform Target: | COM | .NET Framework | .NET 6+ | Python (new in 2023.2) | Excel (with Excel Option) |
Runtimes |
|||||
.NET Framework |
✓ |
✓ |
✓ |
✓ |
✓ |
.NET 6 or 7 |
⨯ |
⨯ |
✓ |
✓ |
⨯ |
Operating Systems |
|||||
Windows |
✓ |
✓ |
✓ |
✓ |
✓ |
Linux |
⨯ |
⨯ |
✓ |
⨯ |
⨯ |
macOS |
⨯ |
⨯ |
✓ |
⨯ |
⨯ |
OPC Specifications |
|||||
OPC Data Access (2) |
✓ |
✓ |
✓ |
✓ |
✓ |
OPC Alarms and Events (2) |
✓ |
✓ |
✓ |
✓ |
⨯ |
OPC XML-DA |
✓ |
✓ |
✓ |
✓ |
✓ |
OPC Unified Architecture - Generic/Data |
✓ |
✓ |
✓ |
✓ |
✓ |
OPC Unified Architecture - Alarms & Conditions |
✓ |
✓ |
✓ |
✓ |
⨯ |
OPC UA PubSub |
✓ |
✓ |
✓ |
✓ |
⨯ |
Specialized OPC UA Facets |
|||||
Methods (Call service) |
✓ |
✓ |
✓ |
✓ |
⨯ (1) |
OPC UA Encodings (Client-Server) |
|||||
Binary |
✓ |
✓ |
✓ |
✓ |
✓ |
XML |
✓ |
✓ |
✓ |
✓ |
✓ |
OPC UA Protocols (Client-Server) |
|||||
TCP (opc.tcp) |
✓ |
✓ |
✓ |
✓ |
✓ |
HTTP |
⨯ |
⨯ |
⨯ |
⨯ |
⨯ |
HTTPS |
✓ |
✓ |
✓ |
✓ |
✓ |
OPC UA PubSub Message Mappings |
|||||
UADP |
✓ |
✓ |
✓ |
✓ |
⨯ |
JSON |
✓ |
✓ |
✓ |
✓ |
⨯ |
OPC UA PubSub Transport Protocol Mappings |
|||||
UDP (opc.udp) |
✓ |
✓ |
✓ |
✓ |
⨯ |
Ethernet (opc.eth) |
✓ |
✓ |
✓ |
✓ |
⨯ |
MQTT (and MQTTS) |
✓ |
✓ |
✓ |
✓ |
⨯ |
Development Models |
|||||
✓ |
✓ |
✓ |
✓ |
⨯ (1) |
|
Live Binding Model (Windows Forms) |
⨯ |
✓ |
✓ (3) |
⨯ |
⨯ |
⨯ |
✓ |
✓ |
⨯ |
⨯ |
|
⨯ |
✓ |
✓ |
⨯ |
⨯ |
|
Real-time Data Spreadsheet |
⨯ |
⨯ |
⨯ |
⨯ |
✓ |
Features |
|||||
Browsing Dialogs (Windows desktop) |
✓ |
✓ |
✓ (3) |
✓ |
⨯ (1) |
Browsing Controls (Windows desktop) |
⨯ |
✓ |
✓ (3) |
⨯ |
⨯ |
OPC UA Administration Dialog (Windows desktop) |
✓ |
✓ |
✓ (3) |
⨯ |
⨯ |
Extensions |
|||||
✓ |
✓ |
✓ |
✓ |
✓ |
|
Distribution Formats |
|||||
Standalone Installer (Windows) |
✓ |
✓ |
✓ |
✓ |
✓ |
NuGet Packages |
⨯ |
✓ |
✓ |
⨯ |
⨯ |
Python Packages |
⨯ |
⨯ |
⨯ |
✓ |
⨯ |
Example Archives (TGZ, ZIP formats) |
⨯ |
✓ |
✓ |
✓ |
⨯ |
Licensing |
|||||
License Location |
Note (1): This functionality is not directly available on the development platform, but can be achieved by combining with VBA code (through COM platform).
Note (2): On Windows only.
Note (3):
In runtime, all user interface features (such as controls, dialogs, and live binding; Windows Forms and WPF) and nonvisual components are supported both under .NET Framework and .NET 6+. However, "designing" them (this includes tasks like dragging from the Toolbox, or configuring in Properties window) in Visual Studio is only possible in .NET Framework projects. In order to achieve visual design for .NET 6+ projects, the developer can make two project files over the same set of source files, one targeting .NET Framework and one targeting .NET 6+, and use the project that targets .NET Framework for visual design tasks. |
QuickOPC attempts to hide the differences caused by different implementations on various platforms and runtimes from the developer who uses it. It is not, however, always fully possible.
Throughout the documentation, we also try to pinpoint specific areas which are not available under some development platform or may work differently. There may be other, subtle differences under each platform as well. For example, the types of inner exceptions generated by the component may differ under various .NET 6+ runtimes versus the code running on .NET Framework, unless the type of exception is documented. The error messages and other details of exceptions may differ as well.
'Support' means that QuickOPC is designed to work and tested on the environment, and vendor's technical support may be contacted for assistance with QuickOPC on the environment. Support may be not available for operating systems, .NET runtimes and other dependencies that are past their active lifecycle at the time of support request, even if they were supported at the time of product release.